/*
* ECARX Technology Limited is the owner of the copyright and the trade secret of this software.
* Without permission, no one has the right to obtain, disclose or use this software in any way.
*/

package ecarx.eas.notification.interfaces;

import ecarx.eas.notification.InitCallback;

/**
 * FileName: BaseAPI.java <br>
 * Description : 接口的基类 <br>
 * Create Time: 2021/8/3 14:07 <br>
 * Update Time: 2021/8/3 14:07 <br>
 * @since 1.0.0
 */
interface BaseAPI {


    /**
     * 版本号
     */
    String version = "1.0.0";

    /**
     * 初始化API
     * <p> Launcher Controller 智能卡片 API 初始化 <br>
     *
     * @param callback {@link InitCallback}初始化回调，请在收到回调之后进行API的调用
     * @param apiNames {@link ecarx.xsf.notificationcenter.common.Constants.IAPINAME} api 名称
     * @since 1.0.0
     */
    void initAPI(InitCallback callback, String ... apiNames);

    /**
     * 断开链路，释放资源.
     * <p> 在页面退出后需释放资源 <br>
     * @param apiName {@link ecarx.xsf.notificationcenter.common.Constants.IAPINAME} api 名称
     * @since 1.0.0
     */
    void release(String apiName);


}
